home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / macros / latex209 / contrib / geom / geom.sty (.txt) < prev    next >
LaTeX Document  |  1993-01-11  |  19KB  |  417 lines

  1. % $Header: /a/tampa/h/tampa_a/fac/levy/texts/geombook/RCS/geom.sty,v 1.15 92/08/25 19:53:57 levy Exp $
  2. % This is the geom style master file, by Silvio Levy.
  3. % It contains modifications to latex.tex and lplain.tex.
  4. % LATEX VERSION 2.09 <14 January 1991>
  5. \typeout{Reading Geometry Center style, $Revision: 1.15 $}
  6. % Find out which style has been loaded (book or article).
  7. % If \chapter is undefined we assume the style is article, otherwise book.
  8. \def\@article{\@@article} \def\@book{\@@book}
  9. \@ifundefined{chapter}{\def\@style{\@@article}}{\def\@style{\@@book}}
  10. % Load an appropriate file with changes to book.sty or article.sty.
  11. \ifx\@style\@book \input geombook.sty \else \input geomart.sty \fi
  12. % Load in other definitions.
  13. \input geomenv.sty  % environments
  14. \input geomfig.sty  % figures
  15. \input geomfnt.sty  % new fonts
  16. \input geomindx.sty % indexing macros 
  17. \input multicol.sty % two-column formatting
  18. %      ****************************************
  19. %      *            USEFUL HACKS              *
  20. %      ****************************************
  21. % \@@warning and \@warning don't need the word ``LaTeX''.
  22. \def\@@warning#1{\typeout{Warning: #1.}}
  23. %      **********************************************
  24. %      *     SPACING / LINE AND PAGE BREAKING       *
  25. %      **********************************************
  26. % Avoid the lack of spacing after a list when the first item is run-in.
  27. \def\endtrivlist{\if@newlist\@noitemerr\fi 
  28.    \if@inlabel\indent\fi 
  29.    \ifhmode\unskip \par\fi 
  30. %   \if@noparlist \else
  31.       \ifdim\lastskip >\z@ \@tempskipa\lastskip \vskip -\lastskip
  32.          \advance\@tempskipa\parskip \advance\@tempskipa -\@outerparskip 
  33.          \vskip\@tempskipa
  34.    \fi\@endparenv
  35. %  \fi
  36. \let\endcenter=\endtrivlist
  37. \let\endflushleft=\endtrivlist
  38. \let\endflushright=\endtrivlist
  39. \let\endverbatim=\endtrivlist
  40. \expandafter\let\csname endverbatim*\endcsname =\endtrivlist
  41. %     ****************************************
  42. %     *           FILE HANDLING              *
  43. %     ****************************************
  44. % Proofing is true by default.
  45. \newif\ifproofing\proofingtrue
  46. \def\include#1{\ifproofing\@include#1 \else\input{#1.tex}\fi}
  47. \def\noproofing{\noexpand\proofingfalse}
  48. \def\@proofingfalse{\proofingfalse}
  49. \def\checkproofing{\ifx\@partlist\@proofingfalse\proofingfalse\fi}
  50. \def\includeonly#1{\@partswtrue\edef\@partlist{#1}\checkproofing}
  51. %          ****************************************
  52. %          *      CROSS-REFERENCING MACROS        *
  53. %          ****************************************
  54. \let\@xf\expandafter
  55. % The main differences between these macros and LaTeX's are that keys
  56. % are not expanded, and the first field in the record's value contains
  57. % the type of object referred to.  For example,
  58. % \newlabel{square torus in space}{{problem 1.1.1}{5}}
  59. % This information is read at the time the record is formed
  60. % from the \object@type.  Expansion of the key is inhibited by storing
  61. % it into the token list \@key, with everything protected by \noexpand's.
  62. \def\object@type{??}
  63. \def\setlabeltype#1{\edef\object@type{#1}}
  64. \newtoks\@key
  65. \def\set@key#1{{\aftergroup\@key\aftergroup{\sanitize#1\endsanity}}}
  66. % These are the user-level macros:
  67. % \fullref{...} expands to   theorem~3.7
  68. % \Fullref{...} expands to   Theorem~3.7
  69. % \ref{...}     expands to   3.7
  70. % \pageref{...} expands to   377
  71. \def\fullref{\@ref{\@xf\@car}}
  72. \def\Fullref{\@ref{\@xf\@xf\@xf\cap@first\@xf\@car}}
  73. \def\pageref{\@ref{\@xf\@cdr}}
  74. \def\ref{\@ref{\@xf\@xf\@xf\discard@first\@xf\@car}}
  75. \def\reftype{\@ref{\@xf\@xf\@xf\discard@second\@xf\@car}}
  76. \def\Reftype{\@ref{\@xf\@xf\@xf\@xf\@xf\@xf\@xf\discard@second
  77.                                         \@xf\@xf\@xf\cap@first\@xf\@car}}
  78. \def\cap@first#1{\uppercase{#1}}
  79. \def\discard@first#1~{}
  80. \def\discard@second#1~\preref{#1\@gobble}
  81. % This is similar to \ref in LaTeX, but has two arguments: the second
  82. % is the key, which is not expanded; the first is an operator to be
  83. % applied to the value of the record.
  84. \newtoks\@value
  85. \def\@ref#1{\@ifnextchar*{\@r@f{#1}}{\@r@f{#1}+}}
  86. \def\@r@f#1#2#3{\set@key{#3}\@ifundefined{r@\the\@key}%
  87.  {{\bf ??}\@warning{Reference `\expand@key' %on page \thepage\space 
  88.                 undefined}}%
  89.  {\@value=\@xf\@xf\@xf{\csname r@\the\@key\endcsname}#1\the\@value\@nil\null}%
  90.   \if#2*\refindex{#3} (#3)\else\refinvindex{#3}\fi}
  91. \def\expand@key{\@xf\empty\the\@key}
  92. \def\@lbibitem[#1]#2{\set@key{#2}\item[\@biblabel{#1}]\if@filesw
  93.       \xdef\@gtempa{\immediate\write\@auxout{\string\bibcite{\the\@key}{#1}}}
  94.       \@gtempa\fi\ignorespaces}
  95. % Like \label in LaTeX, but follows the conventions explained at the
  96. % top of this file.  The \label* variant creates a more comprehensive
  97. % index entry.
  98. \def\preref#1{#1}
  99. \def\label{\@ifnextchar*{\l@bel}{\l@bel+}}
  100. \def\l@bel#1#2{\set@key{#2}\@bsphack\if@filesw 
  101.   {\let\thepage\relax
  102.     \xdef\@gtempa{\write\@auxout{\string\newlabel{\the\@key}%
  103.       {{\object@type\string~\string\preref{\@currentlabel}}%
  104.        {\string\preref{\thepage}}}%
  105.   }}}\@gtempa 
  106.   \if@nobreak \ifvmode\nobreak\fi\fi\fi\@esphack
  107.   \if#1*\labelindex{#2}\else\index{#2}\fi\ignorespaces}
  108. \def\newlabel{\bgroup\@sanitize\afterassignment\@readlabel\global\@key}
  109. \def\bibcite{\bgroup\@sanitize\afterassignment\@readbibcite\global\@key}
  110. \def\@readlabel{\egroup\r@adlabel r}
  111. \def\@readbibcite{\egroup\r@adlabel b}
  112. \def\r@adlabel#1#2{\@ifundefined{#1@\the\@key}{}%
  113.     {\@warning{Label `\expand@key' multiply defined}}%
  114.   \global\@namedef{#1@\the\@key}{#2}}
  115. % sanitize
  116. \def\@citex[#1]#2{\set@key{#2}\if@filesw
  117.   \xdef\@gtempa{\immediate\write\@auxout{\string\citation{\the\@key}}}\@gtempa\fi
  118.   \let\@citea\@empty
  119.   \@xf\@cite\@xf{\@xf\@for\@xf\@citeb\@xf:\@xf=\the\@key\do
  120.     {\@citea\def\@citea{,\penalty\@m\ }%
  121.      \def\@tempa##1##2\@nil{\edef\@citeb{\if##1\space##2\else##1##2\fi}}%
  122.      \expandafter\@tempa\@citeb\@nil
  123.      \@ifundefined{b@\@citeb}{{\reset@font\bf ?}\@warning
  124.        {Citation `\@citeb' %on page \thepage \space 
  125.                 undefined}}%
  126.      \hbox{\csname b@\@citeb\endcsname}}}{#1}}
  127. % add a preref
  128. \def\@cite#1#2{\preref{[{#1\if@tempswa , #2\fi}]}}
  129. \def\nocite#1{\set@key{#1}\@bsphack\if@filesw
  130.   \xdef\@gtempa{\immediate\write\@auxout{\string\citation{\the\@key}}}\@gtempa\fi
  131.   \@esphack}
  132. \def\@testdef #1#2#3{\set@key{#2}\def\@tempa{#3}%
  133.   \@xf\ifx\csname #1@\the\@key\endcsname\@tempa\else\@tempswatrue\fi}
  134. \def\\{\let\stoken= } \\
  135. \def\sanitize{\futurelet\next\sanswitch}
  136. \def\sanswitch{\let\@tempa\relax \ifx\next\endsanity \let\@tempa\endsanity
  137.   \else\ifcat\noexpand\next\stoken\aftergroup\space\let\@tempa\eat
  138.    \else\ifcat\noexpand\next\bgroup\aftergroup{\let\@tempa\eat
  139.     \else\ifcat\noexpand\next\egroup\aftergroup}\let\@tempa\eat
  140.      \else\let\@tempa\copytoken\fi\fi\fi\fi \@tempa}
  141. \def\eat{\afterassignment\sanitize \let\next= }
  142. \long\def\copytoken#1{%
  143.   \ifcat\noexpand#1##\aftergroup\string\aftergroup\string##\aftergroup\string
  144.     \else\ifcat\noexpand#1\noexpand~\aftergroup\string
  145.       \else\ifcat\noexpand#1\relax\aftergroup\str@ng \fi\fi\fi
  146.   \aftergroup#1\sanitize}
  147. \def\endsanity\endsanity{}
  148. \def\str@ng#1{\string#1\expandafter\if@secondletter\string #1\next\nex}
  149. \def\if@secondletter#1#2#3\nex{\ifx #2\next\else\ifnum`#2<`A \else
  150.   \ifnum`#2<`Z \space\else\ifnum`#2<`a \else\ifnum`#2<`z \space\fi\fi\fi\fi\fi}
  151. % Labels are automatically added to theorems, section headings and the
  152. % like if \autolabel is true.
  153. \newif\ifautolabel\autolabeltrue
  154. %          ****************************************
  155. %          *            ENVIRONMENTS              *
  156. %          ****************************************
  157. \long\def\@writefile#1#2{\@ifundefined{tf@#1}{}{
  158. \edef\@tempa{\immediate\write\csname tf@#1\endcsname}
  159. {\aftergroup\@tempa\aftergroup{\sanitize #2\endsanity}}}}
  160. %      **********************************************
  161. %      *               MATH ENVIRONMENTS            *
  162. %      **********************************************
  163. %% following RmS 91/09/29: \reset@font added.
  164. \def\@eqnnum{{\reset@font\rm (\theequation)}}
  165. % set object type
  166. \def\equation{$$ % $$ BRACE MATCHING HACK
  167.   \def\object@type{equation}\refstepcounter{equation}}
  168. %% following RmS 92/01/10: put \hbox around \@eqnnum 
  169. \def\endequation{\eqno \hbox{\@eqnnum}% $$ BRACE MATCHING HACK
  170. $$\global\@ignoretrue}
  171. \def\eqnarray{\def\object@type{equation}%
  172.   \stepcounter{equation}\edef\@currentlabel{\theequation}%
  173. \global\@eqnswtrue\m@th
  174. \global\@eqcnt\z@\tabskip\@centering\let\\\@eqncr
  175. $$\halign to\displaywidth\bgroup\@eqnsel\hskip\@centering
  176.   $\displaystyle\tabskip\z@{##}$&\global\@eqcnt\@ne
  177.   \hskip 2\arraycolsep \hfil${##}$\hfil
  178.   &\global\@eqcnt\tw@ \hskip 2\arraycolsep $\displaystyle\tabskip\z@{##}$\hfil
  179.    \tabskip\@centering&\llap{##}\tabskip\z@\cr}
  180. % allow equations to be numbered with other environments
  181. \def\equationwith#1{%
  182.   \@xf\edef\@xf\c@equation\@xf{\csname c@#1\endcsname}%
  183.   \@xf\let\@xf\theequation\csname the#1\endcsname
  184. % Bring back \eqalign from plain TeX (for less than full-width alignments)
  185. \def\eqalign#1{\null\,\vcenter{\openup\jot\m@th
  186.   \ialign{\strut\hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfil
  187.       \crcr#1\crcr}}\,}
  188. %       ****************************************
  189. %       *         THE LIST ENVIRONMENT         *
  190. %       ****************************************
  191. % make the \listparindent non-zero
  192. \def\list#1#2{\ifnum \@listdepth >5\relax \@toodeep 
  193.      \else \global\advance\@listdepth\@ne \fi
  194.   \rightmargin \z@ \listparindent.8\parindent \itemindent\z@
  195.   \csname @list\romannumeral\the\@listdepth\endcsname 
  196.   \def\@itemlabel{#1}\let\makelabel\@mklab \@nmbrlistfalse #2\relax
  197.   \@trivlist
  198.   \parskip\parsep \parindent\listparindent
  199.   \advance\linewidth -\rightmargin \advance\linewidth -\leftmargin
  200.   \advance\@totalleftmargin \leftmargin
  201.   \parshape \@ne \@totalleftmargin \linewidth 
  202.   \ignorespaces}
  203. % for bibliography
  204. \def\@mklab#1{#1\hskip 0pt plus .0001fil\relax}
  205. % Use \unhbox instead of \box for labels like theorems etc.
  206. % Add normalshape
  207. % Removed a \penalty0 to avoid line ending with blank space
  208. % to make part (a) of an enumerate that immediate follows a label
  209. % start on a fresh line, change the last line of \@item to:
  210. %\def\@item[#1]{\if@noparitem \@donoparitem
  211. % ...
  212. %       \hskip \labelsep}\vrule width 0pt \ignorespaces}
  213. \def\@item[#1]{\if@noparitem \@donoparitem
  214.   \else \if@inlabel \indent \par \fi
  215.          \ifhmode \unskip\unskip \par \fi 
  216.          \if@newlist \if@nobreak \@nbitem \else
  217.                         \addpenalty\@beginparpenalty
  218.                         \addvspace\@topsep \addvspace{-\parskip}\fi
  219.            \else \addpenalty\@itempenalty \addvspace\itemsep 
  220.           \fi 
  221.     \global\@inlabeltrue 
  222. \everypar{\global\@minipagefalse\global\@newlistfalse 
  223.           \if@inlabel\global\@inlabelfalse \hskip -\parindent \unhbox\@labels
  224. %             \penalty\z@ \fi
  225.              \fi
  226.           \everypar{}}\global\@nobreakfalse
  227. \if@noitemarg \@noitemargfalse \if@nmbrlist \refstepcounter{\@listctr}\fi \fi
  228. \setbox\@tempboxa\hbox{\makelabel{\normalshape #1}}%
  229. \global\setbox\@labels
  230.  \hbox{\unhbox\@labels \hskip \itemindent
  231.        \hskip -\labelwidth \hskip -\labelsep 
  232.        \ifdim \wd\@tempboxa >\labelwidth 
  233.                 \unhbox\@tempboxa
  234.           \else \hbox to\labelwidth {\makelabel{\normalshape #1}}\fi
  235.        \hskip \labelsep}\ignorespaces}
  236. %      ****************************************
  237. %      *        ITEMIZE AND ENUMERATE         *
  238. %      ****************************************
  239. % Save \@currentlabel to allow correct label in the cases like this:
  240. % \begin{theorem}
  241. % \begin{equation}       
  242. % \end{equation}       
  243. % \begin{enumerate}
  244. %   \label
  245. \def\enumerate{\ifnum \@enumdepth >3 \@toodeep\else
  246.       \advance\@enumdepth \@ne
  247.       \edef\@enumctr{enum\romannumeral\the\@enumdepth}\list
  248.       {\csname label\@enumctr\endcsname}{\usecounter
  249.         {\@enumctr}\def\makelabel##1{\hss\llap{##1}}}\fi
  250.         \let\@savecurrentlabel\@currentlabel}
  251. \@ifundefined{@@currentlabel}{\@currentlabel}{\@savecurrentlabel}
  252. %       ****************************************
  253. %       *         THEOREM ENVIRONMENTS         *
  254. %       ****************************************
  255. %       See geomenv.sty
  256. %     *****************************************
  257. %     *              SECTIONING               *
  258. %     *****************************************
  259. % Allow up to \presection at bottom of page before new section
  260. % to encourage section to start on fresh page
  261. \newskip\presection \presection 0pt plus 10ex \relax
  262. \def\@startsection#1#2#3#4#5#6{\if@noskipsec \leavevmode \fi
  263.    \par \@tempskipa #4\relax
  264.    \@afterindenttrue
  265.    \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse\fi
  266.    \advance\@tempskipa by\presection
  267.    \if@nobreak \everypar{}\else
  268.      \addpenalty{\@secpenalty}\addvspace{\@tempskipa}%
  269.      \allowbreak\vskip -\presection \fi \@ifstar
  270.      {\@ssect{#1}{#2}{#3}{#4}{#5}{#6}}{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
  271. % Add a . after section number instead of skipping 1em 
  272. % Mess with \addcontentsline
  273. % Automatic labels
  274. \def\@sect#1#2#3#4#5#6[#7]#8{\def\object@type{#1}%
  275.      \ifnum #2>\c@secnumdepth\def\@svsec{}\def\@tempb{}%
  276.      \else\refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname. }%
  277.        \edef\@tempb{\noexpand\numberline{\csname the#1\endcsname}} \fi
  278.      \@tempskipa #5\relax
  279.      \def\@tempa{\addcontentsline{toc}{#1}}%
  280.      \ifdim \@tempskipa>\z@ 
  281.         \begingroup #6\relax
  282.           \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par}%
  283.         \endgroup
  284.         \csname #1mark\endcsname{#7}%
  285.         \expandafter\@tempa\expandafter{\@tempb #7}%
  286.         \ifautolabel\label*{#8}\fi
  287.      \else
  288.         \def\@svsechd{#6\hskip #3\relax
  289.            \@svsec #8\csname #1mark\endcsname {#7}%
  290.            \expandafter\@tempa\expandafter{\@tempb #7}%
  291.            \ifautolabel\label*{#8}\fi}\fi
  292.      \@xsect{#5}}
  293. % Add automatic content line and label
  294. \def\@ssect#1#2#3#4#5#6#7{%
  295.      \ifnum #2>\c@secnumdepth\def\@tempb{}%
  296.      \else \def\@tempb{\numberline{}}\fi
  297.      \@tempskipa #5\relax
  298.      \def\@tempa{\addcontentsline{toc}{s#1}}%
  299.      \ifdim \@tempskipa>\z@
  300.         \begingroup #6\relax
  301.            \@hangfrom{\hskip #3}{\interlinepenalty \@M #7\par}%
  302.         \endgroup
  303.         \csname s#1mark\endcsname{#7}%
  304.         \ifstarredcontents\expandafter\@tempa\expandafter{\@tempb #7}\fi
  305.         \ifautolabel\label*{#7}\fi
  306.      \else 
  307.         \def\@svsechd{#6\hskip #3\relax #7%
  308.         \ifautolabel\label*{#7}\fi}\fi
  309.      \@xsect{#5}}
  310. \newif\ifstarredcontents\starredcontentstrue
  311. \def\ssectionmark#1{}
  312. \def\ssubsectionmark#1{}
  313. \def\ssubsubsectionmark#1{}
  314. \def\sparagraphmark#1{}
  315. \def\ssubparagraphmark#1{}
  316. %     *****************************************
  317. %     *        TABLE OF CONTENTS, ETC.        *
  318. %     *****************************************
  319. % Don't expand macros when writing lines for the table of contents.
  320. \def\addcontentsline#1#2#3{\if@filesw \begingroup
  321. \set@key{#3}%
  322. \let\label\@gobble \let\index\@gobble \let\glossary\@gobble
  323.   {\let\thepage\relax
  324. \xdef\@gtempa{\write \@auxout{\string\@writefile{#1}{\noexpand\string
  325.      \noexpand\contentsline{#2}{\the\@key}{\thepage}}}}\@gtempa}
  326.    \if@nobreak \ifvmode\nobreak\fi\fi\endgroup\fi}
  327. \long\def\addtocontents#1#2{\if@filesw \begingroup
  328. \set@key{#2}%
  329. \let\label\@gobble \let\index\@gobble \let\glossary\@gobble
  330. \edef\@tempa{\write \@auxout {\string\@writefile{#1}{\the\@key}}}\@tempa
  331.   \if@nobreak \ifvmode\nobreak\fi\fi\endgroup\fi}
  332. %     ****************************************
  333. %     *               FLOATS                 *
  334. %     ****************************************
  335. % Make marginal pars tiny and ragged right
  336. \long\def\@savemarbox#1#2{\global\setbox#1\vtop{\hsize\marginparwidth 
  337.    \@parboxrestore\tiny\raggedright #2}}
  338. %          ****************************************
  339. %          *    INITIAL DECLARATION COMMANDS      *
  340. %          ****************************************
  341. % Don't expand macros in marks.
  342. \newtoks\@mark
  343. \def\markboth#1#2{{\global\@mark={{#1}{#2}}{%
  344.      \mark{\the\@mark}}\if@nobreak\ifvmode\nobreak\fi\fi}}
  345. \def\markbothsame#1{{\global\@mark={{#1}{#1}}{%
  346.      \mark{\the\@mark}}\if@nobreak\ifvmode\nobreak\fi\fi}}
  347. \def\markright#1{{\expandafter\@markright\the\@mark
  348.      {#1}\mark{\the\@mark}}\if@nobreak\ifvmode\nobreak\fi\fi}
  349. \def\@markright#1#2#3{\global\@mark{{#1}{#3}}}
  350. \@mark{{}{}}
  351. %     ****************************************
  352. %     *               OUTPUT                 *
  353. %     ****************************************
  354. % CHECK if this bug really has disappeared.
  355. % the two lines after ``here was the bug'' 
  356. % avoid disappearing \write's before a \marginpar
  357. % at the top of a page (SL 900302).  The bug is exemplified by
  358. % \documentstyle{article}
  359. % \begin{document}
  360. % \label{foo}\marginpar{foo}
  361. % \end{document}
  362. \def\@specialoutput{\ifnum\outputpenalty > -\@Mii
  363.     \@doclearpage
  364.   \else
  365.     \ifnum \outputpenalty <-\@Miii
  366.        \ifnum\outputpenalty<-\@MM \deadcycles\z@\fi
  367.        \global\setbox\@holdpg\vbox{\unvbox\@cclv}%
  368.     \else  % here was the bug
  369.         \ifdim\ht\@cclv=\pagegoal\else
  370.         \setbox\@tempboxa\vsplit\@cclv to\z@ \unvbox\@tempboxa\fi
  371.         \setbox\@tempboxa\box\@cclv
  372.         \@pagedp\dp\@holdpg \@pageht\ht\@holdpg
  373.         \unvbox\@holdpg
  374.         \@next\@currbox\@currlist{\ifnum\count\@currbox >\z@
  375.            \ifvoid\footins\else\advance\@pageht\ht\footins
  376.              \advance\@pageht\skip\footins \advance\@pagedp\dp\footins
  377.              \insert\footins{\unvbox\footins}\fi
  378.             \@addtocurcol\else
  379.            \ifvoid\footins\else\insert\footins{\unvbox\footins}\fi
  380.             \@addmarginpar\fi}\@latexbug
  381.     \ifnum \outputpenalty <\z@ \penalty\interlinepenalty\fi
  382.   \fi\fi}
  383. % Avoid headers on blank pages 
  384. \def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
  385.     \thispagestyle{plain}\hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}
  386. % $Log:    geom.sty,v $
  387. %Revision 1.15  92/08/25  19:53:57  levy
  388. %fixed \@mklab (previous fix was nonsense)
  389. %Revision 1.14  92/08/25  19:33:50  levy
  390. %@@currentlabel more robust
  391. %Revision 1.13  92/07/31  09:50:26  levy
  392. %redefine \@mklab
  393. %Revision 1.12  92/07/17  13:44:12  levy
  394. %*** empty log message ***
  395. %Revision 1.11  92/07/13  21:54:14  levy
  396. %further cleaned up the environments
  397. %Revision 1.10  92/07/13  11:11:48  levy
  398. %*** empty log message ***
  399. %Revision 1.9  92/07/13  08:57:20  levy
  400. %changes to geomenv.sty
  401. %Revision 1.8  1992/07/06  19:04:42  levy
  402. %sanitize \bibcite, \cite
  403. %Revision 1.7  92/06/26  18:46:57  levy
  404. %\reftype
  405. %Revision 1.6  92/06/03  11:25:59  levy
  406. %*** empty log message ***
  407. %Revision 1.5  92/04/16  12:58:26  levy
  408. %*** empty log message ***
  409. %Revision 1.4  92/04/07  09:09:03  levy
  410. %*** empty log message ***
  411. %Revision 1.3  1992/03/21  02:37:06  levy
  412. %*** empty log message ***
  413. %Revision 1.2  1992/03/20  22:39:40  levy
  414. %*** empty log message ***
  415. %Revision 1.1  1992/03/20  19:09:34  levy
  416. %Initial revision
  417.